package com.azzaou.dao.impl;

import java.util.ArrayList;
import java.util.List;

import org.hibernate.Query;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.azzaou.dao.ITransactionDao;
import com.azzaou.model.BonTransactionChantier;
import com.azzaou.model.Chantier;
import com.azzaou.model.Fournisseur;
import com.azzaou.model.LigneTransactionChantier;
import com.azzaou.model.Marchandise;

public class TransactionDao extends HibernateDaoSupport implements ITransactionDao {
	
	private static final long serialVersionUID = 1L;

	@Override
	public List<BonTransactionChantier> getTransactionByCriteria(
			BonTransactionChantier chantier) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public void saveOrUpdate(BonTransactionChantier chantier) {
		getHibernateTemplate().saveOrUpdate(chantier);
		
	}

	@Override
	public void remove(BonTransactionChantier chantier) {
		getHibernateTemplate().delete(chantier);
		
	}

	@Override
	public BonTransactionChantier getTransactionById(Long id) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public List<BonTransactionChantier> getAllActifTransaction(Fournisseur fournisseurCourant) {
		List<BonTransactionChantier> bonList = new ArrayList<BonTransactionChantier>();
	    Query query = getSession().createQuery(" FROM BonTransactionChantier where fournisseur.id = '"+fournisseurCourant.getId()+"'");
	    bonList = query.list();
	    return bonList;
	}

	@Override
	public List<BonTransactionChantier> getAllTransactions() {
		List<BonTransactionChantier> bonList = new ArrayList<BonTransactionChantier>();
	    Query query = getSession().createQuery(" FROM BonTransactionChantier");
	    bonList = query.list();
	    return bonList;
	}

	@Override
	public void save(List<LigneTransactionChantier> chantiers) {
		for (LigneTransactionChantier chantier : chantiers)
		{
			getHibernateTemplate().saveOrUpdate(chantier);
		}
		
	}

	

}
